home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / MENUMGR.DEF < prev    next >
Encoding:
Modula Definition  |  1993-08-02  |  3.4 KB  |  120 lines

  1. DEFINITION MODULE MenuMgr;
  2.  
  3. (*
  4. AES Menu Manager.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM RcMgr  IMPORT GPnt;
  12. FROM PORTAB IMPORT SIGNEDWORD,UNSIGNEDWORD,UNSIGNEDLONG,ANYBYTE;
  13.  
  14. IMPORT AES;
  15.  
  16. (* [Menu] Manager: Show Menu [Bar], AES(30) ****************************** *)
  17.  
  18. CONST MenuErase   =   0;  MenuHide = 0;
  19.       MenuDisplay =   1;  MenuShow = 1;
  20.       MenuInstl   = 100; (* MagX *)
  21.       MenuInquiry =  -1;
  22.  
  23. TYPE TreePtr = AES.TreePtr;
  24.  
  25. PROCEDURE MenuBar(PTree: TreePtr;
  26.                   Show : SIGNEDWORD): SIGNEDWORD;
  27.  
  28. (* [Menu] Manager: [Check] Menu [I]tem, AES(31) ****************************)
  29.  
  30. TYPE ObjectIndex = AES.ObjectIndex;
  31.  
  32. PROCEDURE MenuICheck(PTree: TreePtr;
  33.                      Item : ObjectIndex;
  34.                      Check: BOOLEAN);
  35.  
  36. (* [Menu] Manager: [Enable] Menu [I]tem, AES(32) ***************************)
  37.  
  38. PROCEDURE MenuIEnable(PTree : TreePtr;
  39.                       Item  : ObjectIndex;
  40.                       Enable: BOOLEAN);
  41.  
  42. (* [Menu] Manager: Show [Normal] [T]itle, AES(33) **************************)
  43.  
  44. PROCEDURE MenuTNormal(PTree : TreePtr;
  45.                       Title : ObjectIndex;
  46.                       Normal: BOOLEAN);
  47.  
  48. (* [Menu] Manager: Set Menu [Text], AES(34) ********************************)
  49.  
  50. PROCEDURE MenuText(    PTree: TreePtr;
  51.                        Item : ObjectIndex;
  52.                    VAR Text : ARRAY OF CHAR);
  53.  
  54. (* [Menu] Manager: [Register] Accessory, AES(35) ***************************)
  55.  
  56. PROCEDURE MenuRegister(    Id   : SIGNEDWORD;
  57.                        VAR MName: ARRAY OF CHAR): SIGNEDWORD;
  58.  
  59. (* [Menu] Manager: [Unregister] Accessory, AES(36) *************************)
  60.  
  61. PROCEDURE MenuUnregister(Id: SIGNEDWORD);
  62.  
  63. (* [Menu] Manager: [Popup], AES(36) ****************************************)
  64.  
  65. TYPE Menu = RECORD
  66.               MnTree    : TreePtr;
  67.               MnMenu    : ObjectIndex;
  68.               MnItem    : ObjectIndex;
  69. #if linear
  70. #if fill_byte
  71.               FillByte: ANYBYTE;
  72. #endif
  73. #endif
  74.               MnScroll  : BOOLEAN;
  75. #if intel
  76. #if fill_byte
  77.               FillByte: ANYBYTE;
  78. #endif
  79. #endif
  80.               MnKeyState: AES.SpecialKey;
  81.             END;
  82.  
  83. PROCEDURE MenuPopup(VAR PMenu: Menu;
  84.                         Pos  : GPnt;
  85.                     VAR PData: Menu): BOOLEAN;
  86.  
  87. (* [Menu] Manager: Set [Click] Mode, AES(37) *******************************)
  88.  
  89. PROCEDURE MenuClick(Click: BOOLEAN;
  90.                     SetIt: BOOLEAN);
  91.  
  92. (* [Menu] Manager: [Attach] Submenu, AES(37) *******************************)
  93.  
  94. PROCEDURE MenuAttach(    Flag : UNSIGNEDWORD;
  95.                          PTree: TreePtr;
  96.                          Item : ObjectIndex;
  97.                      VAR PData: Menu): BOOLEAN;
  98.  
  99. (* [Menu] Manager: Set [Start] [I]tem, AES(38) *****************************)
  100.  
  101. PROCEDURE MenuIStart(Flag : UNSIGNEDWORD;
  102.                      PTree: TreePtr;
  103.                      IMenu: ObjectIndex;
  104.                      Item : ObjectIndex): BOOLEAN;
  105.  
  106. (* [Menu] Manager: [Settings], AES(39) *************************************)
  107.  
  108. TYPE MnSet = RECORD
  109.                Display: UNSIGNEDLONG;
  110.                Drag   : UNSIGNEDLONG;
  111.                Delay  : UNSIGNEDLONG;
  112.                Speed  : UNSIGNEDLONG;
  113.                Height : UNSIGNEDWORD;
  114.              END;
  115.  
  116. PROCEDURE MenuSettings(    Flag  : UNSIGNEDWORD;
  117.                        VAR Values: MnSet);
  118.  
  119. END MenuMgr.
  120.